home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SNNSV32.ZIP / SNNSv3.2 / help.hdoc < prev    next >
Text File  |  1994-04-25  |  84KB  |  2,134 lines

  1. ----------------------------------------------------------------------
  2. * Using The Graphical User Interface
  3. ----------------------------------------------------------------------
  4.  
  5. * XGUI Files
  6.  
  7. The graphical user interface consists of the following files:
  8.  
  9.    snns  or  xgui    SNNS program (XGUI and simulator kernel
  10.             linked together into one executable program)
  11.    default.cfg        default configuration file
  12.    help.hdoc        help text used by XGUI (this file)
  13.  
  14. The file 'snns' in the home directory of SNNS is only a  symbolic link
  15. to the file
  16.  
  17.     xgui/bin/<architecture>/xgui 
  18.  
  19. where  <architecture>  is  one  of  the  currently  supported  machine
  20. architectures, like sparc, dec, sun3, RS6000, hp,  pc386 (with Unix V)
  21. or other.
  22.  
  23. The file 'help.hdoc' is this file.
  24.  
  25. XGUI looks for  the files  'default.cfg' and 'help.hdoc'  first in the
  26. current  directory. If  not  found  there,  it  looks in the directory
  27. specified by the environment variable XGUILOADPATH. By the command
  28.  
  29.     setenv XGUILOADPATH  Path 
  30.  
  31. this variable  can  be set to  the  path where the  'default.cfg'  and
  32. 'help.hdoc' files are located. This is  best done  by an entry  in the
  33. files '.login' or '.cshrc'. Advanced users may change the help file or
  34. the default configuration for their own purposes. However, this should
  35. be done only on a copy of the files in a private directory.
  36.  
  37. SNNS uses the following extensions for its files:
  38.  
  39.     .net       network files (units and link weights)
  40.     .pat       pattern files
  41.     .cfg       configuration settings files 
  42.     .txt       text files (log files) 
  43.     .res       result files (unit activations) 
  44.  
  45. A simulator run is started by the command 
  46.  
  47.     snns  <Return>
  48.  
  49. in the home directory of SNNS or by directly calling 
  50.  
  51.     <SNNS-directory>/xgui/bin/<architecture>/xgui  
  52.  
  53. from any directory. Note that either XGUILOADPATH must be set properly
  54. before or  SNNS  will complain about  missing  files 'default.cfg' and
  55. 'help.hdoc'.
  56.  
  57. The executable xgui may also be called with X parameters as arguments.
  58. The following example starts the interface with the font 6x12:
  59.  
  60.     snns -font 6x12  <Return>
  61.  
  62. The interface is  designed for a 8x13 font.  The  smaller font 6x12 is
  63. less  readable but  may  display more  information in the windows. The
  64. current version cannot handle fonts wider than 8 pixels.
  65.  
  66.  
  67. * Windows of XGUI 
  68.  
  69. The graphical user interface has the following windows which can be
  70. positioned and handled independently (toplevel shells):
  71.  
  72. - Manager panel with Info panel called xgui-info, near the bottom left,
  73.   the  Menu  button  GUI to open other windows, a message line at the
  74.   right  of  this  button,  and a line with status information at the
  75.   bottom.
  76. - several Displays to display the network graphically in two
  77.   dimensions.
  78. - 3D View panel to control the three dimensional network
  79.   visualization component.
  80. - Remote panel to control the simulator operations.
  81. - Bignet  panel to facilitate the creation of big regular
  82.   feed-forward nets, time delay, ART1, ART2 and ARTMAP networks.
  83. - several Help windows to display the help text.
  84. - Cascade  panel for control of the learning phase of cascade
  85.   correlation learning.
  86. - Graph  display, to explain the network error during
  87.   teaching graphically.
  88. - Inversion  display, to control the network analyzing tool.
  89. - Weight Display, to show the weight matrix as a WV or Hinton diagram.
  90.  
  91.  
  92. There are  a  number  of  other  popup  windows which  are  invoked by
  93. pressing a button in one of the  main windows or  choosing a menu.  Of
  94. the  above  mentioned  popup  windows,  the  file  panel is  the  most
  95. important, since it is needed  to load or  save networks, pattern  and
  96. configuration files.
  97.  
  98. The  Manager panel contains all elements needed for  working  with the
  99. interface. It should therefore always be kept visible.
  100.  
  101. The  Info panel  in the Manager panel displays  the  attributes of two
  102. units and the data  of the link  between them. All attributes may also
  103. be changed here. The  data displayed here is important for many editor
  104. commands.
  105.  
  106. The other  windows are  called with the button GUI. The button QUIT is
  107. used to leave XGUI. The message line shows information  about  current
  108. operations, like additional information of severe errors.
  109.  
  110. In each of the 2D Displays a part  of  the network is displayed, while
  111. all settings can be changed  using  Setup. A special  feature  is  the
  112. filtering  of data,  both to  speed up  graphics  and  to  be  able to
  113. concentrate on important  features. These windows also allow access to
  114. the network editor using the keyboard.
  115.  
  116. The  Remote  panel constitutes  a remote  control  for  the  simulator
  117. operations.
  118.  
  119. In the File panel  a log file can be specified, where all  XGUI output
  120. to stdout is  copied  to. A variety of  data about  the network can be
  121. displayed here. Also a record is kept  on the  load and  save of files
  122. and on the teaching.
  123.  
  124. The complete help  text from  the file  help.hdoc  is available in the
  125. text section  of  a help  window.  Information  about  a  word can  be
  126. retrieved by marking that word in the text and then  clicking LOOK  or
  127. MORE.  A list of keywords can be obtained by  a  click to TOPICS. This
  128. window also allows context sensitive help when the editor is used with
  129. the keyboard.
  130.  
  131.  
  132. * ManagerPanel 
  133.  
  134. The Manager  panel  contains the info panel, a message  and the status
  135. line. From the manager panel all other elements that have a different,
  136. independent  window assigned can  be called. Because this window is of
  137. such central importance, it is recommended to keep it visible all  the
  138. time.
  139.  
  140. - Button [GUI]
  141.  
  142. If this menu button is clicked,  and the mouse button is kept pressed,
  143. a  menu  to  request a  window  appears. The  user can request several
  144. displays or help windows, but only one remote panel or text window.
  145.  
  146.      +-----------+
  147.      | FILE      |
  148.      | DISPLAY   | 
  149.      | 3D VIEW   |  
  150.      | INVERSION |
  151.      | WEIGHTS   |
  152.      | GRAPH     |
  153.      | REMOTE    | 
  154.      | BIGNET    |
  155.      | CASCADE   |
  156.      | PRINT     |
  157.      | HELP      |
  158.      | QUIT      |
  159.      +-----------+
  160.  
  161.  
  162. -  Manager Message
  163.  
  164. This line  features messages about a current operation or its termina-
  165. tion. Possible messages are:
  166.  
  167.    Found        help topic was found. 
  168.    Update link done.    new weight was assigned. 
  169.    Listing        a list is being produced. 
  170.    n steps. Calc ...    n update steps are performed now. 
  171.    Saving ...          something is saved. 
  172.    ... saved.        ... got saved. 
  173.    Loading ...        something is loaded. 
  174.    ... loaded.        ... got loaded. 
  175.    HELP: ...        help information about ... is displayed. 
  176.   
  177. Warnings and errors  are  also displayed  here. The following warnings
  178. are possible:
  179.  
  180.    No .. unit selected    action can not be performed, because no target
  181.             or source is selected in the info panel. 
  182.    Can't update link.    weight can not be assigned, because link does 
  183.             not exist. 
  184.    This unit has no successors!  
  185.             the unit has no successors. 
  186.    This unit has no predecessors!  
  187.             the unit has no predecessors. 
  188.    No more units in this network!  
  189.             network has no further units. 
  190.    LOAD/SAVE aborted.    load/save was aborted, either by the user, 
  191.             or by an error. 
  192.  
  193. This is also the place of the command sequence display of the  editor.
  194. When the command is  activated,  a  message about the execution of the
  195. command is displayed.  In  most  cases,  however, only  a blinking  is
  196. visible, because the commands are executed too fast.
  197.  
  198.  
  199. - Status line
  200.  
  201. This line shows the current position of the  mouse in  a  display, the
  202. number  of selected units,  and  the  position of flags,  set  by  the
  203. editor.
  204.  
  205. If 'safe' appears next to the flag icon, the  safety  flag was set  by
  206. the user.  In this  case  XGUI forces the  user  to confirm any delete
  207. actions.
  208.  
  209. The  next icon shows a small seleted unit. The corresponding number is
  210. the  number of currently  selected  units. This is important,  because
  211. there  might be  selected  units  not visible  in  the  displays.  The
  212. selection of units affects only editor operations.
  213.  
  214.  
  215. * Info Panel
  216.  
  217. The  info panel displays all data of  two  units and the link  between
  218. them.  The unit  at the  beginning  of the link  is called SOURCE, the
  219. other  TARGET. One  may  run sequentially  through all connections  or
  220. sites  of  the TARGET  unit with  the  arrow buttons and look  at  the
  221. corresponding source units and vice versa.
  222.  
  223. This panel is also  very important for editing, since some  operations
  224. refer to the displayed TARGET unit or (source->TARGET) link. A default
  225. unit  can  also be  created  here,  whose  values  (activation,  bias,
  226. IO-type, subnet number, layer numbers, activation function, and output
  227. function) are copied into all selected units of the net.
  228.  
  229. The  source unit  of a link  can  also be specified in a 2D display by
  230. pressing the middle mouse  button, the target unit by releasing it. To
  231. select a link between  two units the user therefore presses the middle
  232. mouse button  on  the source unit in a 2D display, moves the mouse  to
  233. the target unit while holding down the mouse button and releases it at
  234. the target unit. Now the selected units and their link  are  displayed
  235. in the info panel. If  no link exists between two units selected  in a
  236. 2D  display, the TARGET  is  displayed  with its  first  link, thereby
  237. changing SOURCE.
  238.  
  239. In  the  following table  the various fields are listed. The fields in
  240. the line FUNC have the following meaning (from left to right): Name of
  241. the activation function,  name of  the output  function,  name  of the
  242. f-type.  The  fields in  the line  LINK  have  the following  meaning:
  243. weight, site value, site function, name of the site.
  244.  
  245.  
  246. Name                 | Type  | set by   | Range
  247. ----------------------------------------------------------------------
  248. no. (unit no.)       | label |          | 1 .. 2^31
  249. subn. (subnet no.)   | label |          | 1 .. 32735
  250. io (IO type)         | label | OPTIONS  | I(nput), O(utput), H(idden),
  251.                      |       |          | D(ual), S(pecial)
  252. act. (activation)    | text  | input    | float; usually -1.0..+1.0
  253. iact. (initial act)  | text  | input    | float; usually -1.0..+1.0
  254. out. (Ausgabe)       | text  | input    | float; usually -1.0..+1.0
  255. bias                 | text  | input    | float
  256. name                 | text  | input    | 25 letters or underscore
  257. func (act_*)         | label | OPTIONS  | as available
  258. func (out_*)         | label | OPTIONS  | as available
  259. link (weight)        | text  | input    | float
  260. site (site value)    | label |          | float
  261. func (site_*)        | label |          | as available
  262. name (site name)     | label |          | as available at TARGET 
  263. ----------------------------------------------------------------------
  264.  
  265. Unit number, unit subnet number,  site value, and site function cannot
  266. be modified.
  267.  
  268. Note: The specified  SNNS value ranges must be obeyed.  Values outside
  269. the specified range are not rejected  by the graphical user interface.
  270. Numerical values  of the  type float  have the following format: Sign,
  271. one digit, decimal point, and five decimal digits. For bias and weight
  272. two digits before the decimal point are critical. To change attributes
  273. of type text, the cursor has to be exactly in the corresponding field.
  274.  
  275. There are the following buttons for the units (from left to right):
  276.  
  277. - [FIRST]:     Select first TARGET of SOURCE (arrow button at
  278.         TARGET) or select first SOURCE of the TARGET 
  279.         (arrow button at SOURCE).
  280.  
  281. - [NEXT]:     Select next TARGET of SOURCE (arrow button at
  282.         TARGET) or select next SOURCE of the TARGET 
  283.         (arrow button at SOURCE).
  284.  
  285. - [FREEZE]:    Unit is frozen, if this button is inverted.
  286.         Changes become active only after SET is clicked.
  287.  
  288. - [DEF]:    The default unit is assigned the displayed values of
  289.         TARGET and SOURCE assigned (only activation, bias, 
  290.         IO-type, subnet number, layer numbers, activation
  291.         function and output function).
  292.                  
  293. - [OPTIONS]:    Calls the following menu:
  294.  
  295.      change io-type          | change the IO-type
  296.      change f-type           | change f-type
  297.      change activation func. | change activation function
  298.                              | note: f-type is lost!
  299.      display activation func.| graph the activation function
  300.      change output func.     | change output function
  301.                              | note: f-type is lost!
  302.      display output func.    | graph the output function
  303.      assign layers           | assign unit to layers
  304.      list all sources        | list all predecessors
  305.      list all targets        | list all predecessors
  306.  
  307.  
  308. - [SET]:     Only after clicking this button the attributes
  309.         of the corresponding unit are set to the specified
  310.         value. The unit is also redrawn. Therefore the values
  311.         can be changed without immediate effect on the unit.
  312.  
  313.  
  314. There exist the following buttons for links (from left to right):
  315.  
  316. - [FIRST]:     Select first site of the TARGET unit.
  317.  
  318. - [NEXT] :     Select next site of the TARGET unit.
  319.  
  320. - [OPTIONS]:    Calls the following menu:
  321.  
  322.      list current site of TARGET | list of all links of the
  323.                                  | current site
  324.      list all sites of TARGET    | list all sites of the TARGET
  325.      list all links from SOURCE  | list all links starting
  326.                                  | at the SOURCE
  327.      delete site                 | delete displayed site
  328.                                  | note: f-type gets lost
  329.      add site                    | add new site to TARGET
  330.                                  | note: f-type gets lost!
  331.  
  332. - [SET]:     Only after clicking this button the link weight is
  333.         set.
  334.                 
  335.  
  336.  
  337. * 2D Displays 
  338.  
  339.  
  340. A 2D Display or simply  Display is always part of the user  interface.
  341. It serves to display the network topology, the  units' activations and
  342. the weights of  the  links. Each  unit  is located on a grid position,
  343. which simplifies  the positioning of the units. The  distance  between
  344. two grid points (grid width) can be changed from the default 37 pixels
  345. to other values in the setup panel.
  346.  
  347. The current  position, i.e.  the grid  position of the  mouse, is also
  348. numerically displayed at the bottom of the manager  panel.  The x-axis
  349. is  the  horizontal  line and  valid  coordinates  lie  in  the  range
  350. -32736..+32735 (short integer).
  351.  
  352. The current version displays units as boxes, where the size of the box
  353. is  proportional  to the  value of the  displayed  attribute. Possible
  354. attributes  are activation,  initial activation, bias, and  output.  A
  355. black box represents a positive value, an  empty box a negative value.
  356. The size  of the unit varies between  16x16 and  0 pixels according to
  357. the value of  scaleFactor. The  parameter  scaleFactor  has  a default
  358. value  of  1.0,  but may be set to values between 0.0 and  2.0  in the
  359. setup panel. Each unit can be displayed with its name (above the unit)
  360. and the numerical value of one of several attributes (below the unit).
  361.  
  362. Links are shown as solid lines, with optional numerical display of the
  363. weight in the center  of the  line and/or  arrow head  pointing to the
  364. target unit. These features  are optional, because they heavily affect
  365. the drawing speed of the display window.
  366.  
  367. A display  can also  be  frozen  with  the  button FREEZE  (button  is
  368. inverted). Then it is not updated anymore.
  369.  
  370. An iconified display is not updated and therefore consumes (almost) no
  371. CPU time. If  a window is closed,  its dimensions and setup parameters
  372. are saved in a stack (LIFO). This means that a newly requested display
  373. gets the values of the window assigned that was last closed.
  374.  
  375. For  better orientation,  the  window title contains the subnet number
  376. which was specified for this display in the setup panel.
  377.  
  378.  
  379. * Setup Panel 
  380.  
  381. Changes  to the kind of display of the network can be performed in the
  382. Setup Panel.  All settings  become valid only after the button DONE is
  383. clicked. The whole display window is redrawn then.
  384.  
  385. The first  two  lines of the Setup panel (units  top and units bottom)
  386. contain  two  buttons  each  to  set the  unit  parameter  that can be
  387. displayed at the top resp. the bottom of the unit.
  388.  
  389. [ON] toggles the display of information which can be selected with the
  390. button  [SHOW].  The unit  name or  unit  number  or  the  z-value (3D
  391. coordinate) can be displayed above the unit,  the  activation, initial
  392. activation, bias or output  of  the unit below the unit. The numerical
  393. attribute  selected with the  button [SHOW] at the bottom  of the unit
  394. (activation, initial  activation, output, or bias) also determines the
  395. size of the unit in the graphical representation.
  396.  
  397. It  is usually  not advisable to switch  off the  top information of a
  398. unit  (number  or  name),  because  this  information  is  needed  for
  399. reference to the info panel. An unnamed unit is  always displayed with
  400. its number.
  401.  
  402. The third line consists of three buttons to select the display of link
  403. data, [ON], [-2.35], and [-->].
  404.  
  405.      [ON]    determines whether to draw links at all (then
  406.            ON is inverted),
  407.      [-2.35]    displays link weights at the center of the
  408.         line representing the link,
  409.      [-->]    displays arrow heads of the links pointing
  410.         from source to target unit.
  411.  
  412. [LAYERS] invokes another popup window to select the display of up to 8
  413. different layers  in  the display window. Layers  are be stacked  like
  414. transparent sheets of paper and allow for a selective display of units
  415. and links. These layers  need  NOT correspond  with layers of units of
  416. the network topology  (as in  multilayer  feed-forward networks),  but
  417. they  may do so.  Layers are very useful to display  only  a  selected
  418. subset of the network. The display of each layer can be switched on or
  419. off independently.  A  unit may belong to  several layers at the  same
  420. time. The assignment of  units to  layers  can be done with  the  menu
  421. assign layers  invoked  with the  button [OPTIONS]  in  the  main Info
  422. panel.
  423.  
  424. [COLOR] sets the 2D--display colors. On monochrome terminals, black on
  425. white or white  on black representation of the network can be selected
  426. from  a  popup  menu.  On color displays,  a  color editing  window is
  427. opened. This window consists of three parts:
  428.  
  429. The palette of available colors at the top, the buttons to select the
  430. item to be colored in the lower left region, and the color preview
  431. window in the lower right region. 
  432.  
  433. A color is set by clicking  first  at the appropriate button ( [TEXT],
  434. [BACKGROUND] ,  or [SELECTION] )  and then at the desired color in the
  435. color palette. The selected  setting is  immediately displayed in  the
  436. color  preview window. All colors  may  be set  in  any order  and any
  437. number of times. The changes  become  effective in  the  corresponding
  438. 2D--display only after both  the setup panel and the  color edit panel
  439. have been dismissed with the [DONE] button.
  440.  
  441.  
  442. Sliders for  the selection of link display  parameters, links positive
  443. and links negative:
  444.  
  445. There are two slidebars to  set thresholds for the  display of  links.
  446. When  the bubble  is  moved,  the current  threshold  is  displayed in
  447. absolute and relative  value at the bottom of  the setup  panel.  Only
  448. those links with an absolute value above  the  threshold are displayed
  449. in the display. The  range of  the absolute values is  0.0 to 10.0.  A
  450. value of 2.2  for  negative links means that only those negative links
  451. are  displayed  whose  absolute  value is above  2.2, i.e. only  those
  452. links,  whose value is  below  -2.2.  The trigger  values  can be  set
  453. independently for positive and negative weights.
  454.  
  455. With  these  link thresholds  the user can skip  weak  connections and
  456. concentrate on  the  'important' ones.  Reducing  the number  of links
  457. drawn is an  effective means to speed up the drawing of  the displays,
  458. since line drawing takes most of the time to display a network.
  459.  
  460. Note: The links  that  are not  drawn are only  invisible.  They still
  461. remain accessible, i.e.  they are affected by editor operations.
  462.  
  463.  
  464. Units scale: This slidebar sets the parameter scaleFactor for the size
  465. of the growing boxes of the units.  Its range  is 0.0 to 2.0.  A scale
  466. factor  of 0.5 draws  the  unit with  activation 0.5 with full size. A
  467. scale factor  of 2.0 draws a unit with activation  1.0 only with  half
  468. size. If  a color display is used the value which determines the units
  469. size or color is displayed with the following colors:
  470.  
  471.     values around 0.0        blue
  472.     values around scaleFactor    red
  473.     values around - scaleFactor    green
  474.  
  475. Grid width: This value sets the  width of  the grid on which the units
  476. are placed. For some nets,  changing the  default of  37 pixels may be
  477. useful, e.g.  to be able to better position the units in a geometrical
  478. pattern.  Overlapping tops and  bottoms  occur if a grid size of  less
  479. than 35 pixels is  selected  (26 pixels if units are displayed without
  480. numerical values). This overlap, however, does  not affect computation
  481. in any way.
  482.  
  483. Origin (grid): These two  fields determine the origin of  the  window,
  484. i.e.  the grid position of the top left corner.  There, the left field
  485. represents the x coordinate, the right is the y coordinate. The origin
  486. is usually (0, 0). Setting it to (20, 0) moves the display 20 units to
  487. the right and 10 units down in the grid.
  488.  
  489. subnet number: This field adjusts the  subnet number, to  be displayed
  490. in this window. Values between -32736 and +32735 are possible here.
  491.  
  492.  
  493. * Unit Function Displays 
  494.  
  495. The  characteristic  functions  of  the units can  be  displayed  in a
  496. graphic  representation. For this  purpose separate displays have been
  497. created,  that  can  be  called  by  selecting  the  options  [display
  498. activation  function] or [display output function]  in the  menu under
  499. the options button of the target and source unit in the info panel.
  500.  
  501. The  window header states  whether it is an activation  or  an  output
  502. function, as well as whether it is the current  function of the source
  503. or target unit.
  504.  
  505. The size of  the  window is  as flexible as the  picture range  of the
  506. displayed function.  The picture  range  can  be  changed by using the
  507. dialog widgets at the  top of the function displays. The size  of  the
  508. window may be changed by using  the standard mechanisms of your window
  509. manager.
  510.  
  511. If  the  displayed function  changes, e.g.  because  a new  activation
  512. function has  been defined for the  unit, the  display window  changes
  513. automatically to reflect the new situation. Thereby it  is easy to get
  514. a quick overview  of  the available  functions by opening the function
  515. displays and  then clicking through the  list  of available  functions
  516. (This list can be obtained by selecting [select  activation  function]
  517. or [select output function] in the unit menu).
  518.  
  519.  
  520. * File Browser 
  521.  
  522. The file  browser  handles  all load and save operations  of networks,
  523. patterns,  configurations,  and  the  contents  of  the  text  window.
  524. Configurations include number, location and  dimension of the displays
  525. as well as their setup values and the name of the layers.
  526.  
  527. In the top line, the path (without trailing slash) where the files are
  528. located  is  entered.  This  can  be  done  either  manually,   or  by
  529. double--clicking on the  list of files and directories in  the box  on
  530. the left.  A double click to [..] deletes  the last part of the  path,
  531. and  a  double click  to  a subdirectory appends that directory to the
  532. path.  In the input  field  below  the  path  field, the name for  the
  533. desired file (without extension) is entered.  Again,  this can be done
  534. either manually,  or  by double--clicking on the list  of files in the
  535. box on the left. Whether  a pattern file,  network file, or other file
  536. is loaded/saved depends  on the settings of  the corresponding buttons
  537. below. With the setting  of picture~ FigFilePanel a network file would
  538. be selected. A file name beginning with a slash (/)  is taken to be an
  539. absolute path.
  540.  
  541. Note: The extension ".net" for nets, ".pat" for  patterns,  ".cfg" for
  542. configurations, and ".txt" for  texts is added automatically and  must
  543. not be specified. After the name is specified the desired operation is
  544. selected by clicking either [LOAD] or [SAVE] .
  545.  
  546. NOTE: In version 3.0 the directories must be executable in order to be
  547. processed properly by the program!
  548.  
  549. * Loading and Saving Networks
  550.  
  551. If the  user wants to load a network  which  is to replace  the net in
  552. main memory, the confirmer appears  with the  remark that  the current
  553. network would  be  erased upon loading. Only if the question Load?  is
  554. answerd by a click to the [YES] button, the new network is loaded. The
  555. file name  of the network loaded last appears  in the  window title of
  556. the manager panel.
  557.  
  558. Note 1: Upon saving the net  the  kernel  compacts its  internal  data
  559. structures, if the unit numbers  are not numbered  consecutively. This
  560. happens if  units are  deleted during the creation of the network. All
  561. earlier  listings with unit numbers then become  invalid. The  user is
  562. therefore  advised  to  save  and reload the network  after  creation,
  563. before continuing the work.
  564.  
  565. Note 2:  The assignment of patterns to  input or  output units may  be
  566. changed after a network  save, if an input or  output unit  is deleted
  567. and is inserted again. This is caused because the activation values in
  568. the pattern file are assigned to units in ascending order  of the unit
  569. number.  Compaction during a  network save leaves the order unchanged.
  570. In the above case, however, this  order is no longer  the same because
  571. the  new input  or output  units  may have  been assigned higher  unit
  572. numbers than the existing input or output units. So some components of
  573. the patterns may be assigned incorrectly.  To be on the safe side, one
  574. should  always save and reload the network after modifications to  the
  575. network topology.
  576.  
  577.  
  578. * Loading and Saving Patterns
  579.  
  580. Patterns are  special combinations of activated input or output units.
  581. Pattern files, like nets, are administrated by the SNNS kernel. During
  582. loading the kernel checks whether the number of input and output units
  583. is the same as in the network in memory. If this  is not the case, the
  584. operation  is aborted. The filename of the pattern loaded last appears
  585. in the window title of the remote panel.
  586.  
  587. Note: The activation values are  read  and  assigned to the input  and
  588. output units sequentially in  ascending order of the unit numbers (see
  589. above).
  590.  
  591.  
  592. * Loading and Saving Configurations
  593.  
  594. A configuration  contains the location and  extension of all  displays
  595. with  all setup  parameters and the  names of the various layers. This
  596. information can be loaded  and saved separately,  since it is indepen-
  597. dent  from  the  networks.  Thereby  it  is  possible  to  define  one
  598. configuration for several networks, as well as several  configurations
  599. for the same net. When XGUI is started, the file default.cfg is loaded
  600. automatically.
  601.  
  602.  
  603. * Saving a Result file 
  604.  
  605. A  result file contains  the activations  of  all output units.  These
  606. activations  are   obtained  by   performing   one   pass  of  forward
  607. propagation. After pressing the [SAVE] button  a popup window lets the
  608. user select  which patterns are to be tested and which patterns are to
  609. be saved in addition to  the test output. Since the result file has no
  610. meaning  for  the  loaded  network a load operation is  not useful and
  611. therefore not supported.
  612.  
  613.  
  614. * Defining the Log File
  615.  
  616. In the log file messages to  stdout can be  stored which  dokument the
  617. simulation run. The  protocol contains file operations, definitions of
  618. values set by clicking the [SET] button in  the info panel, as well as
  619. a  teaching protocol  (cycles, parameters, errors). In  addition,  the
  620. user can output data about the network  to the log  file with the help
  621. of the info panel.  If no log file is loaded,  output takes place only
  622. on stdout. If  no  file  name  is  specified when  clicking [LOAD],  a
  623. possibly open log  file is closed and further  output is restricted to
  624. stdout.
  625.   
  626.  
  627.  
  628. * Help Windows
  629.  
  630. An  arbitrary number of help  windows may be opened, each displaying a
  631. different part  of the text.  For a display of context  sensitive help
  632. about the editor  commands, the mouse must be in a display and the key
  633. [h]  must be pressed on the keyboard. Then the last  open  help window
  634. appears with a short description.
  635.  
  636. A  special  feature is the possibility of searching a given  string in
  637. the help  text.  For this, the search string is  selected in the  text
  638. window (e.g. by a double click).
  639.  
  640. [LOOK]    After  clicking this  button,  SNNS  searches  for  the  first 
  641.     appearance of the marked string,  starting at the beginning of
  642.     the help document.  If the string is found,  the corresponding 
  643.     paragraph is displayed.
  644.  
  645.  
  646. [MORE]    After  clicking  this  button,  SNNS  searches  for  the first 
  647.     appearance of the marked string, starting at the position last
  648.     visited  by  a  call  to  the  help  function. If the text was 
  649.     scrolled afterwards, this position might not be on the display 
  650.     anymore.
  651.  
  652. Note: All  help calls look for the the  first appearance of a  certain
  653. string.  These strings start with the  sequence ASTERISK-BLANK ('* '),
  654. to  assure the discovery of the  appropriate  text position. With this
  655. knowledge  it is  easy  to modify the  file  help.hdoc  to adapt it to
  656. special  demands,  like  storing   information  about  unit  types  or
  657. patterns. The  best approach is to  list all relevant keywords at  the
  658. end of the file under the headline 'TOPICS' (preceded with a '* '), so
  659. that the user can select this directory by a click to TOPICS.
  660.  
  661.  
  662. * Print Panel 
  663.  
  664. The  print panel handels  the Postscript  output. A 2D-display  can be
  665. associated  with the printer. All  setup  options and  values  of this
  666. display will  be  printed. Color  and encapsulated Postscript are also
  667. supported.  The output device is either  a printer or  a file.  If the
  668. output device is  a printer,  a '.ps'-file is generated and spooled in
  669. the /tmp  directory.  It  has a  unique name starting with  the prefix
  670. `snns'. The directory must be writable. When xgui terminates normally,
  671. all SNNS spool files are deleted.
  672.  
  673. The following fields can be set in the Printer Panel:
  674.  
  675. - File Name  resp.  Command Line :  
  676.   If the output device is a file: the filename.
  677.   If  the output device  is a  printer: the command line to start  the
  678.   printer. The filename in the command line has to be '  1'.
  679. - Destination : Selects the output device.
  680.   Toggles the above input line between File Name and Command Line.
  681. - Paper : Selects the paper format.
  682. - Orientation : Sets the orientation of the display on the paper.  Can 
  683.   be  'portrait' or 'landscape'.
  684. - Border (mm)  : Sets the  size of the horizontal and vertical borders
  685.   on the sheet in millimeters.
  686. - AutoScale : Scales the network to the  maximum possible size  on the
  687.   paper if turned on.
  688. - Aspect : If on, scaling in X and Y direction is done uniformly.
  689. - X-Scale  : Scale factor  in X direction. Valid only  if AutoScale is
  690.   'OFF'.
  691. - Y-Scale : Scale  factor in Y direction.  Valid  only if AutoScale is
  692.   'OFF'.
  693.  
  694. [DONE] : Cancels the printing and closes the panel.
  695.  
  696. [PRINT] : Starts printing.
  697.  
  698. [NETWORK] : Opens  the  network setup  panel.  This  panel allows  the
  699. specification  of  several  options to control  the way the network is
  700. printed.
  701.  
  702.  
  703. * Remote Panel
  704.  
  705. With this window the  simulator is  operated as with a remote control.
  706. The  following table lists all window elements.  The  meaning of the 5
  707. learning  parameters depends upon the teaching  function selected with
  708. the menu select learning function invoked  by the button [OPTIONS]  of
  709. the remote panel.
  710.  
  711. Name                          | Type  | Range
  712. ----------------------------------------------------------------------
  713. STEPS (update-Steps)          | text  | 0 <= n
  714. CYCLES                        | text  | 0 <= n
  715. PATTERN                       | text  | 0 <= n (0 => no patterns)
  716. LEARN  (5 param.: eta, ...)   | text  | float; usually 0.0<= eta <=1.0
  717. UPDATE (5 parameters)         | text  | float
  718. ----------------------------------------------------------------------
  719.  
  720. There are the following text fields, buttons and menu buttons:
  721.  
  722. STEPS    This text field specifies the number of update steps of the
  723.     network. With Topological selected as update mode (chosen with
  724.     the menu select update function from the button OPTIONS in the
  725.     remote panel) one step is sufficient to propagate information
  726.     from input to output. With other update modes or with
  727.     recursive networks, several steps might be needed.
  728.  
  729. [STEP]    After clicking this button, the simulator kernel executes the
  730.     number of steps specified in the text field STEPS. If STEPS is
  731.     zero, the units are only redrawn. The update mode selected
  732.     with the button MODE is used. The first update step in the
  733.     mode topological takes longer than the following, because the
  734.     net is sorted topologically first. Then all units are redrawn.
  735.  
  736. [INFO]    Information about the net is written to text window.
  737.  
  738. [INIT]    A popup window to set parameters to initialize the network is
  739.     called.
  740.  
  741. [RESET]    The counter is reset and the units are
  742.     assigned their initial activation.
  743.  
  744.     The text field after RESET displays the z coordinate of the
  745.     units in a 3D Display.
  746.  
  747. CYCLES    This text field specifies the number of learning cycles. It is
  748.     mainly used in conjunction with the next two buttons.  A cycle
  749.     (also called an epoch sometimes) is a unit of training where all
  750.     patterns of a pattern file are presented to the network once.
  751.  
  752. [SINGLE] The net is trained with a single pattern for a number of
  753.     training cycles defined in the field CYCLES. The text window
  754.     reports the error of the network every 1/10 th CYCLES, i.e.
  755.     independent of the number of training cycles only 10
  756.     numbers are generated. (This prevents flooding the user with
  757.     useless network performance data and slowing down the training
  758.     by file I/O).
  759.  
  760.     The error reported in the text window is the sum of the
  761.     quadratic distances between the teaching input and the real
  762.     output over all output units. The average error per output
  763.     unit is given behind 'ave'.
  764.  
  765. [ALL]    The net is trained with all patterns for a number of training
  766.     cycles specified in the field CYCLES. This is the usual way to
  767.     train networks with the graphical user interface. Note that if
  768.     cycles has a value of, say, 100, the button ALL causes SNNS to
  769.     train all patterns once (one cycle) and repeat this cycle 100
  770.     times (NOT training each pattern 100 times in a row and then
  771.     applying the next pattern).
  772.  
  773.     The error reported in the text window is the sum of the
  774.     quadratic distances between the teaching input and the real
  775.     output over all output units. The average error per output
  776.     unit is given behind 'ave'.
  777.  
  778. [STOP]    After completion of the current step or teaching cycle, the
  779.     simulation is halted immediately.
  780.  
  781. [TEST]    With this button, the user can test the behaviour of the net
  782.     with all patterns loaded. The activation values of input and
  783.     output units are copied into the net. (For output units see also
  784.     button SHOW). Then the number of update steps specified in
  785.     STEPS are executed.
  786.  
  787. [SHUFFLE] It is important for optimal learning that the various
  788.     patterns are presented in different order in the different
  789.     cycles. A random sequence of patterns is created
  790.     automatically, if SHUFFLE is switched on.
  791.  
  792. [OPTIONS] Offers the following menu:
  793.  
  794.      select update function    select update function
  795.      select learning function    select learning function
  796.      select init function    select initialization function    
  797.      jog weights        change all link weights by a small 
  798.                 random value
  799.      edit f-types        edit/create f-types
  800.      edit sites            edit/create sites 
  801.      delete all patterns    delete all patterns in main memory
  802.      clear SNNS            delete net and patterns in main memory
  803.  
  804.     If jog weights is selected, a popup window appears to specify
  805.     the range (low limit .. high limit). This operation always
  806.     affects all links in the network.
  807.  
  808.     The menu item 'select learning function' invokes a menu to
  809.     select a learning function (learning procedure). The following
  810.     learning functions are currently implemented:
  811.  
  812.    ART1                     ART1 learning algorithm  
  813.    ART2                     ART2 learning algorithm  
  814.    ARTMAP                   ARTMAP learning algorithm 
  815.                             (all ART models by Carpenter   Grossberg) 
  816.    Backpropagation          ``vanilla'' Backpropagation 
  817.    BackpropBatch            Backpropagation for batch training 
  818.    BackpropMomentum         Backpropagation with momentum term 
  819.    BackpropBatchThroughTime Batch-Backpropagation for recurrent networks 
  820.    BackpropThroughTime      Backpropagation for recurrent networks 
  821.    Backpercolation          Backpercolation 1 (Perc)after Mark Jurik 
  822.    Cascade Correlation      Cascade correlation meta algorithm 
  823.    Counterpropagation       Counterpropagation after Robert Hecht-Nielsen, 
  824.    Quickprop                Quickprop after Scott Fahlman, CMU 
  825.    QuickpropThroughTime     Quickprop for recurrent networks 
  826.    RadialBasisLearning      Learning with Radial Basis Functions 
  827.    Rec. Cascade Correlation Cascade correlation for recurrent networks 
  828.    RProp                    Resilient--Propagation learning 
  829.    TimeDelayBackprop        Backpropagation for time delay networks 
  830.  
  831. PATTERN    This text field displays the current pattern number. 
  832.  
  833. [DELETE] The pattern whose number is displayed in the text field
  834.     PATTERN is deleted from the pattern file.
  835.  
  836. [MOD]    The pattern whose number is displayed in the text field
  837.     PATTERN is modified in place.
  838.  
  839. The  current  activation  of  the input units and  the current  output
  840. values of output  units of the  network  loaded make up  the input and
  841. output pattern. These values may have been set with the network editor
  842. and the Info panel before.
  843.  
  844. [NEW]    A new pattern is defined that is added behind existing
  845.     patterns. Input and output values are defined as above.
  846.  
  847. [GOTO]    The simulator advances to the pattern whose number is
  848.     displayed in the text field PATTERN.
  849.  
  850. [|<], [<], [>], [>|]
  851.     With these buttons, the user can navigate through all patterns
  852.     loaded, as well as jump directly to the first and last
  853.     pattern. Unlike with the button TEST no update steps are
  854.     performed here.
  855.  
  856. [SHOW]    With this button, the user specifies the changes to the
  857.     activation values of the output units when a pattern is
  858.     applied with TEST. The following table gives the three
  859.     alternatives:
  860.  
  861.     None        The output units remain unchanged. 
  862.     Output        The output values are computed and set, 
  863.             activations remain unchanged. 
  864.     Activation    The activation values are set. 
  865.  
  866.  
  867. [LEARN]    The five parameters of the learning functions vary depending
  868.     on the learning functions used. For the learning functions
  869.     that are already built in into SNNS, they are given below.
  870.  
  871.     Std_Backpropagation  ('vanilla' Backpropagation), BackpropBatch
  872.     and TimeDelaybackprop
  873.     
  874.     1) eta, learning parameter, specifies the step width of
  875.         the gradient descent.
  876.         Typical values of eta are 0.1 to 1.0. Some small
  877.         examples actually train even faster with values above
  878.         1, like 2.0.
  879.     2) d_max, the maximum difference between a teaching value and 
  880.         an output of an output unit which is tolerated, 
  881.         i.e.  which is propagated back as 0. 
  882.         If values above 0.9 should be regarded as 1 and values 
  883.         below 0.1 as 0, then d_max should be set to 0.1. 
  884.         This prevents overtraining of the network.
  885.         Typical values of d_max are 0, 0.1 or 0.2.
  886.  
  887.     
  888.     BackpropMomentum  (Backpropagation with momentum term and
  889.                flat spot elimination):
  890.  
  891.     1) eta, learning parameter, specifies the step width of
  892.         the gradient descent.
  893.         Typical values of eta are 0.1 to 1.0. Some small
  894.         examples actually train even faster with values above
  895.         1, like 2.0.
  896.     2) mu,    momentum term, specifies the amount of the old weight
  897.         change (relative to 1) which is added to the current
  898.         change.
  899.         Typical values of mu are 0 to 1.0.
  900.     3) c,    flat spot elimination value, a constant value 
  901.         which is added to the derivative of the activation
  902.         function to enable the network to pass flat spots of
  903.         the error surface.
  904.         Typical values of c are 0..0.25, most often 0.1 is
  905.         used.
  906.     4) d_max, the maximum difference between a teaching value and 
  907.         an output of an output unit which is tolerated, 
  908.         i.e.  which is propagated back as 0. 
  909.         Typical values of d_max are 0, 0.1 or 0.2.
  910.  
  911.     BackpropThroughTime
  912.  
  913.     1) eta, learning parameter, specifies the step width of
  914.         the gradient descent.
  915.         Typical values of eta are 0.005 to 0.1
  916.     2) mu,    momentum term, specifies the amount of the old weight
  917.         change (relative to 1) which is added to the current
  918.         change.
  919.         Typical values of mu are 0 to 1.0.
  920.     3) backstep, the number of backprop steps back in time.
  921.             BPTT stores a sequence of all unit activations while
  922.          input patterns are applied. The activations are stored 
  923.         in a first-in-first-out queue for each unit. 
  924.  
  925.     Quickprop, QuickpropThroughTime
  926.  
  927.     1) eta, learning parameter, specifies the step width of the
  928.         gradient descent.
  929.         Typical values of eta for Quickprop are 0.1 to 0.3, for
  930.         QPTT 0.005 to 0.1.
  931.     2) mu,    maximum growth parameter, specifies the maximum amount
  932.         of weight change (relative to 1) which is added to the
  933.         current change
  934.         Typical values of mu are 1.75 to 2.25 for QP and 1.2 to 
  935.         1.75 for QPTT.
  936.     3) nu,    weight decay term to shrink the weights.
  937.         Typical values of nu are 0.0001. Quickprop is rather
  938.         sensitive to this parameter. It should not be set too
  939.         large.
  940.     4) d_max, the maximum difference between a teaching value and 
  941.         an output of an output unit which is tolerated, 
  942.         i.e.  which is propagated back as 0. 
  943.         Typical values of d_max are 0, 0.1 or 0.2.
  944.  
  945.     Counterpropagation
  946.  
  947.     1) alpha, learning parameter of the Kohonen layer.
  948.         Typical values of alpha for Counterpropagation are 0.1
  949.         to 0.7.
  950.     2) beta, learning parameter of the Grossberg layer.
  951.         Typical values of beta are 0 to 1.0.
  952.     3) theta, threshold of a unit
  953.         We often use a value theta of 0.
  954.  
  955.     Backpercolation 1 (see the footnote about Backpercolation 1 in
  956.                the introduction of the user manual)
  957.     
  958.     1) lambda, global error magnification. This is the factor in
  959.         the formula epsilon = lambda * (t - o), where epsilon
  960.         is the internal activation error of a unit, t is the
  961.         teaching input and o the output of a unit
  962.         Typical values of lambda are 1. Bigger values (up to 10)
  963.         may also be used here.
  964.     2) theta, if the error value drops below this threshold value,
  965.         the adaption according to the Backperc algorithm begins. 
  966.     3) d_max, the maximum difference between a teaching value and 
  967.         an output of an output unit which is tolerated, 
  968.         i.e.  which is propagated back as 0. 
  969.         Typical values of d_max are 0, 0.1 or 0.2.
  970.  
  971.     RadialBasisLearning
  972.  
  973.     1) centers, determines the learning rate used for the modification 
  974.         of center vectors.
  975.  
  976.          2) bias, determines the learning rate, used for the modification 
  977.         of the parameters of the base function. It is stored as 
  978.         bias of the hidden units.
  979.     3) weights, influences the training of all link weights that are
  980.              leading to the output layer as well as the training of 
  981.             the bias of all output neurons.
  982.     4) delta_max, if the actual error is smaller than the maximum 
  983.         allowed error (delta_max) the corresponding weights are 
  984.         not changed.
  985.  
  986.          5) momentum, influences the amount of the momentum--term during
  987.             training.   
  988.  
  989.     
  990.     ART1
  991.  
  992.     1) p, vigilance parameter. If the quotient of active F1  units
  993.             divided by the number of active F0 units is below p, an
  994.             ART reset is performed.
  995.  
  996.     ART2
  997.          
  998.     1) p, vigilance parameter. Specifies the minimal length of the
  999.             error vector r. 
  1000.          2) a, strength of the influence of the lower level in F1 by
  1001.             the middle level.
  1002.          3) b, strength of the influence of the middle level in F2 by
  1003.             the upper level.
  1004.          4) c, Part of the length of vector p used to compute the error.
  1005.          5) theta, threshold for output function f of units xi and qi
  1006.  
  1007.     ARTMAP
  1008.     
  1009.     1) pa, vigilance parameter for  ARTa  subnet.
  1010.     2) pb, vigilance parameter for  ARTb  subnet.
  1011.     3) p, vigilance parameter for  ART reset control.
  1012.  
  1013.     RPROP
  1014.     
  1015.     1) delta0, starting values for all deltas. Default value is 0.1.
  1016.     2) delta_max, the upper limit for the update values delta. The 
  1017.              default value is  50.0.
  1018.     
  1019. [UPDATE] The five parameters of the update functions vary depending on
  1020.     the network model used. They are not used in the learning
  1021.     functions distributed in this release of SNNS. They have been
  1022.     used in other network models which we implemented, but
  1023.     currently do not distribute.
  1024.  
  1025.  
  1026. * Weight Display 
  1027.  
  1028. The  weight display  window  is  a  separate  window  specialized  for
  1029. displaying  the weights  of a network. It  is called  from the manager
  1030. panel in the  gui menu with the entry [weights]  . On  black-and-white
  1031. screens the weights are represented as squares with changing size in a
  1032. Hinton  diagram, while  on  color screens,  fixed  size  squares  with
  1033. changing colors are used (WV-diagrams).
  1034.  
  1035. On small  networks,  all  connections are  displayed at the same time.
  1036. With  larg nets the  display changes to a viewport, where only a small
  1037. portion of the net is visible and the user is able to move around with
  1038. scrollbars.
  1039.  
  1040. In a  Hinton diagram, the size of a square corresponds to the absolute
  1041. size of the  correlated  link. A filled square represents negative, an
  1042. empty  square  positive  links.  The maximum  size of  the squares  is
  1043. computed automatically, to allow an optimal use of the display.
  1044.  
  1045. In  a WV diagram color is used to code the value  of a  link. Here,  a
  1046. bright  red  is used for large negative  values and a bright  green is
  1047. used  for  positive values. Intermediate numbers have  a lighter color
  1048. and the  value zero is represented by white. The user also has got the
  1049. possibility  to retrieve the numerical value of the link  by  clicking
  1050. any mouse  button while the mouse pointer  is on  the square. A  popup
  1051. window then gives  source and target unit of the current link as  well
  1052. as its weight.
  1053.  
  1054. For a better overall orientation the numbers of the  units are printed
  1055. all around the display and a grid with user definable size is used. In
  1056. this numbering the units on top of the screen represent  source units,
  1057. while numbers to the left and right represent target units.
  1058.  
  1059.  
  1060. * Graph Window 
  1061.  
  1062. Graph is  a  tool  to visualize the error developement of  a  net. The
  1063. program is started by clicking the menu item [graph] in  the  pulldown
  1064. menu under the [GUI] button of the info panel.
  1065.  
  1066. Graph is only active after  calling it. This means, the development of
  1067. the  error is  only drawn  as long  as the  window is not  closed. The
  1068. advantage of this implementation is, that the  simulator is not slowed
  1069. down as long as graph is closed The  loss of  power by graph should be
  1070. minimal. If the window is iconified, graph remains active.
  1071.  
  1072. The error curve of the net is plotted until the net is initialized  or
  1073. a new net is loaded, in which case the cycle counter is reset to zero.
  1074. The window, however, is not cleared until the clear button is pressed.
  1075. This opens the possibility to compare several error curves in a single
  1076. display.  The  maximum  number  of  curves,  which  can  be  displayed
  1077. simultaneously  is  25.  If a  26th curve is  tried to  be  drawn, the
  1078. confirmer appears with an error message.
  1079.  
  1080. When  the curve  reaches  the  right  end of the window,  an automatic
  1081. rescale of  the x-axis is performed. This way, the whole curve  always
  1082. remains visible.
  1083.  
  1084. In the top region of the graph window, six buttons for handling the
  1085. display are located:
  1086.  
  1087. [CLEAR] Clears the screen of the graph window and sets the cycle
  1088.     counter to zero.
  1089. [DONE]  Closes the graph window and resets the cycle counter.
  1090. [>]     Reduce scale in one direction.
  1091. [<]     Enlarge scale in one direction.
  1092.  
  1093. While the simulator is  working  all buttons  are  blocked.  The graph
  1094. window can  be resized by the mouse like every  X-window. Changing the
  1095. size of the window does not change the size of the scale.
  1096.  
  1097.  
  1098. * Creating and Editing F-types and Sites
  1099.  
  1100. The change  of the f-type  is performed  on  all  units  of that type.
  1101. Therefore the  functionality of all  units  assigned  to a f-type  can
  1102. easily  be  changed. The  elements in the  panel  have  the  following
  1103. meaning:
  1104.  
  1105.  
  1106. [SELECT]    Selects of the activation and output function
  1107. [CHOOSE]    Chooses the f-type to be changed
  1108. [SET]        Makes the settings/changes permanent. Changes in
  1109.         the site list are not set (see below)
  1110. [NEW], [DELETE]    Creates or deletes an f-type
  1111.  
  1112. [ADD], [DELETE]    F-types also specify the sites of a unit. Therefore
  1113.         these two buttons are necessary to add/delete a site
  1114.         in the site list.
  1115.  
  1116. Note: The number and the  selection of  sites can not be changed after
  1117. the creation of an f-type.
  1118.  
  1119. The elements in the edit panel for  sites are almost identical. A site
  1120. is selected for change by clicking at it in the site list.
  1121.  
  1122.  
  1123. [SELECT]    Selects the new site function. The change is
  1124.         performed in all sites in the net with the same name.
  1125. [SET]        Validates changes/settings
  1126. [NEW]        Creates a new site
  1127. [DELETE]    Deletes the site marked in the site list
  1128.  
  1129.  
  1130. * Keyboard
  1131. * Graphical Network Editor
  1132.  
  1133. The  graphical user interface of  SNNS has a network editor built  in.
  1134. With the network editor it is possible to generate a new network or to
  1135. modify an existing network  in various ways. There also exist commands
  1136. to change the display style of the network.
  1137.  
  1138. As  an  introduction  operations on  networks  without  sites  will be
  1139. discussed  first,  since they  are  easier  to learn  and  understand.
  1140. Operations that  have  a restricted or  slightly different meaning for
  1141. networks with sites are displayed with the  extension  (Sites!) in the
  1142. following overview.
  1143.  
  1144. As usual with most applications of X-Windows, the mouse must be in the
  1145. window in which an input is to appear. This means that  the mouse must
  1146. be in the display window for editor operations to occur. If  the mouse
  1147. is moved  in a  display,  the  status  indicator of  the manager panel
  1148. changes each time a new raster postion in the display is reached.
  1149.  
  1150. Different displays of a network can be seen as different views  of the
  1151. same object. This means that all commands in  one display  may  affect
  1152. objects (units, links) in  the  other displays. Objects are  moved  or
  1153. copied in a second display window in the same way as they are moved or
  1154. copied in the first display window.
  1155.  
  1156. The editor operations are usually invoked by a sequence of 2 to 4 keys
  1157. on the keyboard. They only take place when the last key of the command
  1158. (e.g.  deletion of units) is pressed. We found out that for some of us
  1159. the fastest way to work with the editor was to move the mouse with one
  1160. hand and to type on the keyboard with the other hand. Keyboard actions
  1161. and mouse movement may occur at  the same  time, the mouse position is
  1162. only relevant when the last key of the sequence is pressed.
  1163.  
  1164. The keys that are sufficient to invoke a part of a command are written
  1165. in capital  letters in the  commands. The message line  in the manager
  1166. panel indicates  the completed parts  of the command sequence. Invalid
  1167. keys are ignored by the editor.
  1168.  
  1169. As an example, if  one presses the following keys U (for  Units) and C
  1170. (for Copy) the status line changes as follows:
  1171.  
  1172. Status line    Command    Comments
  1173. ----------------------------------------------------------------------
  1174. >        Units    operation on units
  1175. Units>        Copy    copying of units
  1176. Units Copy>        (the sequence is not completed yet)
  1177.  
  1178. To  the  left  of  the  caret  the fully  expanded  input  sequence is
  1179. displayed. At  this  place also a message is displayed  when a command
  1180. sequence is accepted  and the corresponding operation is  called. This
  1181. serves as feedback,  especially  if the  operation takes some time. If
  1182. the operation  completes  quickly,  only  a short flicker of the  text
  1183. displayed can be  seen. Some  error messages appear in  the confirmer,
  1184. others in the message line.
  1185.  
  1186.  
  1187. * Mode
  1188. * Editor Modes
  1189.  
  1190. To work faster, three editor modes have been  introduced  which render
  1191. the first key unnecessary. In normal  mode all sequences are possible,
  1192. in unit mode all  sequences that deal with units (that start with  U),
  1193. and in link mode all command sequences that refer to links (i.e. start
  1194. with L).
  1195.  
  1196. Status line    Command    Comments
  1197. -------------------------------------------------------------------------
  1198. Units Copy>    Quit    the input command may be cancelled any time
  1199. >        Mode
  1200. Mode>        Units    enter unit mode
  1201. Units>        Copy    copying
  1202. Units Copy>    Quit    cancel again
  1203. Units>            Quit  leaves the current mode unchanged
  1204. Units>        Copy    copying
  1205. Units Copy>    Return    return to normal mode
  1206. >
  1207.  
  1208. The mode command is useful, if several unit or link commands are given
  1209. in sequence. Return cancels a command, like Quit does, but also
  1210. returns to normal mode.
  1211.  
  1212.  
  1213. * Selection
  1214. * Selection of Units
  1215.  
  1216. Units are selected by clicking on the unit with the left mouse button.
  1217. Selected  units are  shown with crosses.   By pressing and holding the
  1218. mouse button down and moving the mouse, all units within a rectangular
  1219. area can be selected, like in a number of popular drawing programs. It
  1220. is not significant in what direction the rectangle is opened.
  1221.  
  1222. To remove a unit or  group  of units from a selection, one presses the
  1223. SHIFT key on the  keyboard while selecting the unit or group of  units
  1224. again. This  undoes the previous selection  for the  specified unit or
  1225. group of  units. Alternatively, a  single unit can be  deselected with
  1226. the right mouse button.
  1227.  
  1228. If the whole selection should be reset,  one clicks in an empty raster
  1229. position. The number of selected  units is displayed ath the bottom of
  1230. the manager panel next to a stylised selection icon.
  1231.  
  1232. Example (setting activations of a  group of units): The activations of
  1233. a group of units can be set to a specific value as follows:  Enter the
  1234. value in the activation value  field of  the  target unit in the  info
  1235. panel. Select  all  units that should obtain the new value. Then enter
  1236. the command to set the activation (Units Set Activation).
  1237.  
  1238.  
  1239. * Selection of Links
  1240.  
  1241. Since it is often very hard to select a  single link with the mouse in
  1242. a  dense web of links, in this simulator all selections  of  links are
  1243. done with the reference  to units.  That is, links  are  selected  via
  1244. their  source and target units. To select a link or a number of links,
  1245. first a unit  or a  group units must be selected in the usual way with
  1246. the left mouse button (indicated  by  crosses through the units). Then
  1247. the mouse pointer is moved to another  unit.   All  links between  the
  1248. selected set of units and the unit under  the mouse pointer during the
  1249. last key stroke of the link command are then selected.
  1250.  
  1251. Example (deleting  a  group  of links):  All  links from  one unit  to
  1252. several other  units  are deleted as follows: First select all  target
  1253. units, then point to the source  unit with the mouse. Now  the command
  1254. Links Delete from Source unit deletes all the specified links.
  1255.  
  1256. As can be seen from the examples, for many  operations three  types of
  1257. information are relevant: first a group of selected  units, second the
  1258. position of the mouse and the unit  associated with  this position and
  1259. third some attributes  of this  unit  which  are displayed in the info
  1260. panel. Therefore it is  good  practise  to keep the info panel visible
  1261. all the time.
  1262.  
  1263.  
  1264. * Mouse 
  1265. * Use of the Mouse
  1266.  
  1267. Besides  the  usual use  of the  mouse to control  the elements  of  a
  1268. graphical  user interface  (buttons,  scroll bars  etc.) the mouse  is
  1269. heavily used in  the  network  editor.  Many important  functions like
  1270. selection of  units and links need  the use of the  mouse.  The  mouse
  1271. buttons of the  standard 3 button mouse are used in  the following way
  1272. within a graphic window:
  1273.  
  1274.  
  1275. * left mouse button
  1276.  
  1277. Selects a  unit. If the mouse is moved with the button pressed down, a
  1278. group of units in  a rectangular area is selected. If the SHIFT key is
  1279. pressed at  the same  time, the units are deselected. The direction of
  1280. movement  with  the  mouse  to  open   the  rectangular  area  is  not
  1281. significant, i.e. one  can open the rectangle from bottom right to top
  1282. left, if convenient.
  1283.  
  1284. If the left mouse button is pressed together with  the CONTROL key,  a
  1285. menu appears  with  all  alternatives to complete the  current  comand
  1286. sequence. The menu items that display a trailing ':' indicate that the
  1287. mouse position of the last command of a command sequence is important.
  1288. The letter 'T'  indicates that the target unit in the info panel plays
  1289. a role. A '~' denotes that the command sequence is not yet completed.
  1290.  
  1291.  
  1292. * right mouse button
  1293.  
  1294. Undo of a selection. Klicking  on a selected unit with the right mouse
  1295. button only deselects this unit. Klicking on  an empty raster position
  1296. resets the whole selection.
  1297.  
  1298.  
  1299. * middle mouse button
  1300.  
  1301. Selects the  source unit  (on pressing the button down) and the target
  1302. unit (on  releasing the  button)  and displays them both in  the  info
  1303. panel. If  there  is no  connection between the two units,  the target
  1304. unit is displayed with its first source unit. If the button is pressed
  1305. on a source unit and released over  an empty target position, the link
  1306. between  the source and the  current (last) target  is  displayed.  If
  1307. there is  no such link the display remains unchanged.  Conversely,  if
  1308. the button is pressed on an  empty source position and released on  an
  1309. existing target unit,  the link between the current (last) source unit
  1310. and the selected target  unit  is displayed, if  one exists. This is a
  1311. convenient way to inspect links.
  1312.  
  1313. In  order  to indicate  the position of the  mouse even  with a  small
  1314. raster size, there is always a sensitive area of at least 16x16 pixels
  1315. wide.
  1316.  
  1317.  
  1318. * Keyboard 
  1319. * Short Command Reference
  1320.  
  1321. The following section briefly  describes the commands of  the  network
  1322. editor. Capital letters denote the keys that must be hit to invoke the
  1323. command in a command sequence.
  1324.  
  1325. The following commands are possible within any command sequence:
  1326.  
  1327.      Quit    quit a command 
  1328.      <Return>    quit a command and return to normal mode
  1329.      Help    get help information. A help window pops up
  1330.  
  1331. As already  mentioned, some operations  have  a  different meaning  if
  1332. there  exist units  with sites  in  a network.  These  operations  are
  1333. indicated with the suffix (sites). Commands that manipulate sites  are
  1334. also included in  this  overview. They  start  with the  first command
  1335. 'Sites'.
  1336.  
  1337. Flags Safety
  1338.     sets/resets safety flag (a flag to prompt the user before
  1339.     units or links are deleted; additional question, if units with
  1340.     different subnet numbers are selected.)
  1341.  
  1342. * Links
  1343. Links Set
  1344.     sets all links between the selected units to the weight
  1345.     displayed in the info panel (independent of sites)
  1346.  
  1347. * Links Make
  1348. Links Make ... 
  1349.     creates or modifies connections 
  1350. Links Make Clique
  1351.     connects every selected unit with every other selected unit,
  1352.     plus itself (Sites!)
  1353. Links Make to Target unit
  1354.     creates links from all selected source units to a single
  1355.     target unit (under the mouse pointer) (Sites!)
  1356. Links Make from Source unit
  1357.     creates links from a single source unit (under the mouse
  1358.     pointer) to all selected target units (Sites!)
  1359. Links Make Double
  1360.     doubles all links between the selected units, i.e. generates
  1361.     two links (from source to target and from target to source)
  1362.     from each single link) (Sites!)
  1363. Links Make Inverse
  1364.     changes the direction of all links between the selected units
  1365.     (Sites!)
  1366.  
  1367.  
  1368. * Links Delete
  1369. Links Delete Clique
  1370.     deletes all links between all selected units (Sites!)
  1371. Links Delete to Target unit
  1372.     deletes all ingoing links from a selected group of units to a
  1373.     single target unit (under the mouse pointer) (Sites!)
  1374. Links Delete from Source unit
  1375.     deletes all outgoing links from a single source unit (under
  1376.     the mouse pointer) to a selected group of units (Sites!)
  1377.  
  1378.  
  1379. * Links Copy
  1380. Links Copy Input
  1381.     copies all input links leading into the selected group of
  1382.     units as new input links to the target unit (under the mouse
  1383.     pointer) (Sites!)
  1384. Links Copy Output
  1385.     copies all output links starting from the selected group of
  1386.     units as new output links of the source unit (under the mouse
  1387.     pointer) (Sites!).
  1388. Links Copy Environment
  1389.     copies all links between the selected units and the TARGET
  1390.     unit to the actual unit, if there exist units with the same
  1391.     relative distance (Sites!)
  1392.  
  1393.  
  1394. * Sites
  1395. Sites Add
  1396.     add a site to all selected units
  1397. Sites Delete
  1398.     delete a site from all selected units
  1399.  
  1400.  
  1401. * Sites Copy
  1402. Sites Copy with No links
  1403.     copies the current site of the Target unit to all selected
  1404.     units. Links are not copied
  1405. Sites Copy with All links
  1406.        ditto, but with all links
  1407.  
  1408.  
  1409. * Units
  1410. Units Freeze
  1411.        freeze all selected units
  1412. Units Unfreeze
  1413.        reset freeze for all selected units
  1414.  
  1415.  
  1416. * Units Set
  1417. Units Set Name
  1418.     sets name to the name of TARGET
  1419. Units Set io-Type
  1420.     sets bias to the bias of TARGET
  1421. Units Set Activation
  1422.     sets activation to the activation of TARGET 
  1423. Units Set Initial activation
  1424.     sets initial activation to the initial activation of TARGET
  1425. Units Set Output
  1426.     sets output to the output of TARGET
  1427. Units Set Bias
  1428.     sets bias to the bias of TARGET
  1429.  
  1430. * Units Set Function
  1431. Units Set Function Activation
  1432.     sets activation function.
  1433.     Note: all selected units loose their default type (f-type)
  1434. Units Set Function Output
  1435.     sets output function
  1436.     Note: all selected units loose their default type (f-type)
  1437. Units Set Function Ftype
  1438.     sets default type (f-type)
  1439.  
  1440.  
  1441. * Units Insert
  1442. Units Insert Default: 
  1443.     inserts a unit with default values. The unit has no link
  1444. Units Insert Target
  1445.     inserts a unit with the same values as the Target unit. The
  1446.     unit has no links
  1447. Units Insert Ftype
  1448.     inserts a unit of a certain default type (f-type) which is
  1449.     determined in a popup window
  1450.  
  1451.  
  1452. * Units Delete
  1453. Units Delete
  1454.     all selected units are deleted.
  1455.  
  1456.  
  1457. * Units Move
  1458. Units Move
  1459.     all selected units are moved. The mouse determines the
  1460.     destination position of the Target unit (info panel). The
  1461.     selected units and their position after the move are shown as
  1462.     outlines.
  1463.  
  1464.  
  1465. * Units Copy
  1466. Units Copy ...
  1467.     copies all selected units to a new position. The mouse
  1468.     position determines the destination position of the Target
  1469.     unit (info panel).  
  1470. Units Copy All
  1471.     copies all selected units with all links 
  1472. Units Copy Input
  1473.     copies all selected units with their input links
  1474. Units Copy Output
  1475.     copies all selected units and their output links 
  1476. Units Copy None
  1477.     copies all selected units, but no links
  1478.  
  1479.  
  1480. * Units Copy Structure
  1481. Units Copy Structure ...
  1482.     copies all selected units and the link structure between these
  1483.     units, i.e.  a whole subnet is copied
  1484. Units Copy Structure All
  1485.     copies all selected units, all links between them, and all
  1486.     input and output links to and from these units
  1487. Units Copy Structure Input
  1488.     copies all selected units, all links between them, and all
  1489.     input links to these units
  1490. Units Copy Structure Output
  1491.     copies all selected units, all links between them, and all
  1492.     output links from these units
  1493. Units Copy Structure None
  1494.     copies all selected units and all links between them
  1495. Units Copy Structure Back binding
  1496.     copies all selected units and all links between them and
  1497.     inserts additional links from the new to the corresponding
  1498.     original units (Sites!)
  1499. Units Copy Structure Forward binding
  1500.     copies all selected units and all links between them and
  1501.     inserts additional links from the original to the
  1502.     corresponding new units (Sites!)
  1503. Units Copy Structure Double binding
  1504.     ditto, but inserts additional links from the original to the
  1505.     new units and vice versa (Sites!) 
  1506.  
  1507.  
  1508. * Mode
  1509. Mode Units
  1510.     unit mode, shortens command sequence if one wants to work with
  1511.     unit commands only. All subsequences after the Units command
  1512.     are valid then
  1513. Mode Links
  1514.     analogous to Mode Units, but for link commands
  1515.  
  1516.  
  1517. * Graphics
  1518. Graphics All
  1519.     redraws the local window
  1520. Graphics Complete
  1521.     redraws all windows
  1522. Graphics Direction
  1523.     draws all links from and to a unit with arrows in the local
  1524.     window
  1525. Graphics Links
  1526.     redraws all links in the local window
  1527. Graphics Move
  1528.     moves the origin of the local window such that the Target unit
  1529.     is displayed at the position of the mouse pointer
  1530. Graphics Origin
  1531.     moves the origin of the local window to the position indicated
  1532. Graphics Grid
  1533.     displays a graphic grid at the raster positions in the local
  1534.     window
  1535. Graphics Units
  1536.     redraws all units in the local window
  1537.  
  1538.  
  1539.  
  1540. * Editor Commands
  1541.  
  1542. We now describe  the  editor commands in more detail.  The description
  1543. has the following form that is shown in two examples:
  1544.  
  1545.     Links Make Clique  (selection LINK : site-popup)
  1546.  
  1547. First comes the  command sequence 'Links Make Clique' which is invoked
  1548. by  pressing  the keys L, M,  and  C  in  this  order.  The  items  in
  1549. parentheses  indicate  that the command  depends  on the objects of  a
  1550. previous selection  of a group of units  with  the mouse  (selection),
  1551. that it depends on the value of the LINK field in the info panel,  and
  1552. that a site-popup appears if there  are sites  defined in the network.
  1553. The options are  given in their temporal order,  the colon  ':' stands
  1554. for the moment  when the  last character of the  command  sequence  is
  1555. pressed, i.e.   the  selection and the input of the value must precede
  1556. the last key of the command sequence.
  1557.  
  1558.     Units Set Activation  (selection TARGET :)
  1559.  
  1560. The command sequence 'Units Set Activation' is invoked by pressing the
  1561. keys U, S, A, in  that order. The items in parentheses  indicate  that
  1562. the command  depends on  the  selection  of a  group of units with the
  1563. mouse (selection) which it  depends on the value  of the  TARGET field
  1564. and  that these two  things must  be  done before the last key  of the
  1565. command sequence is pressed.
  1566.  
  1567. The following table displays the meaning of the symbols in parantheses:
  1568.  
  1569. selection    all selected units 
  1570. :        now the last key of a command sequence is pressed 
  1571. [unit]        the raster cursor is placed on a unit 
  1572. [empty]        the raster cursor is placed on an empty positon 
  1573. default        the default values are used 
  1574. TARGET        the TARGET unit field in the info panel must be set 
  1575. LINK        the LINK field in the info panel must be set 
  1576. site-links    only links to the current site in the info panel
  1577.         play a role 
  1578. site        the current site in the info panel must be set 
  1579. popup        a popup menu appears to ask for a value 
  1580. (site-popup)    if there are sites defined in the network, a popup 
  1581.         appears to choose the site for the operation 
  1582. dest?        a raster position for a destination must be clicked 
  1583.         with the mouse (e.g. in Units Move) 
  1584.  
  1585. In the  case of  a  site-popup a site  for the operation can be chosen
  1586. from this  popup  window. However,  if  one  clicks  the  DONE  button
  1587. immediately after, only  the direct input without sites  is chosen. In
  1588. the following description this direct input  should  be regarded  as a
  1589. special case of a site.
  1590.  
  1591. All newly generated units are  assigned  to  all active layers  in the
  1592. display in which the command for their creation was issued.
  1593.  
  1594. The following keys are always possible within a command sequence:
  1595.  
  1596.     Q>uit        quit a command
  1597.     R>eturn        quit and return to normal mode
  1598.     H>elp        get help information to the commands
  1599.  
  1600. A detailed description of the commands follows:
  1601.  
  1602. * Flags Safety (:)
  1603.   
  1604. If the SAFETY flag is  set,  then with  every operation which  deletes
  1605. units, sites or links (Units Delete or Links Delete) a confirmer  asks
  1606. if the units, sites or links should really be  deleted. If the flag is
  1607. set, this is shown in  the manager panel with a safe  after the little
  1608. flag icon. If  the flag is not set, units, sites or links  are deleted
  1609. immediately. There is no undo operation for these deletions.
  1610.  
  1611.  
  1612. * Links Set (selection LINK :)
  1613.   
  1614. All  link weights between  the selected units are set to  the value of
  1615. the LINK field in the info panel.
  1616.  
  1617.  
  1618. * Links Make Clique (selection LINK : (site-popup))
  1619.   
  1620. A full connection between all selected units is generated. Since links
  1621. may be deleted selectively afterwards, this function is useful in many
  1622. cases where many links in both directions are to  be generated.  If  a
  1623. site is selected, a  complete connection is only possible if all units
  1624. have a site with the same name.
  1625.  
  1626.  
  1627. * Links Make from Source unit (selection [unit] : (site-popup))
  1628. * Links Make to Target unit (selection [unit] : (site-popup))
  1629.   
  1630. Both operations connect all selected units with  a single  unit  under
  1631. the mouse pointer. In the first case, this unit is the  source, in the
  1632. second, it is the target. All links get the value of the LINK field in
  1633. the info panel.   If sites are  used, only links to the  selected site
  1634. are generated.
  1635.  
  1636.  
  1637. * Links Make Double (selection :)
  1638.   
  1639. All unidirectional links become double (bidirectional) links. That is,
  1640. new  links in the opposite direction are generated.  Immediately after
  1641. creation the new links possess the same weights as the original links.
  1642. However,  the  two  links  do  not  share  the weight, i.e. subsequent
  1643. training usually changes  the similarity.   Connections impinging on a
  1644. site only become bidirectional, if  the  original source  units  has a
  1645. site with the same name.
  1646.  
  1647.  
  1648. * Links Make Inverse (selection :)
  1649.   
  1650. All  unidirectional  links  between  all selected  units  change their
  1651. direction. They keep  their original value.   Connections leading to a
  1652. site are only reversed if the  original source unit  has a site of the
  1653. same name. Otherwise they remain as they are.
  1654.  
  1655.  
  1656. * Links Delete  Clique (selection : (site-popup)) 
  1657. * Links  Delete from Source unit (selection [unit] : (site-popup)) 
  1658. * Links Delete to Target unit (selection [unit] : (site-popup))
  1659.   
  1660. These three  operations are  the reverse of  Links  Make  in that they
  1661. delete  the  connections.  If the safety  flag is set  (the word  safe
  1662. appears  behind the  flag  symbol in  the manager panel),  a confirmer
  1663. window confirms the deletion.
  1664.  
  1665.  
  1666. * Links Copy Input (selection [unit] :) 
  1667. * Links Copy Output (selection [unit] :) 
  1668. * Links Copy All (selection [unit] :)
  1669.   
  1670. Links Copy Input copies all input links of the selected group of units
  1671. to the single  unit  under  the mouse  pointer.  If  sites  are  used,
  1672. incoming links are only copied if a  site with the same name as in the
  1673. original units exists.
  1674.  
  1675. Links Copy Output  copies  all output links  of  the selected group of
  1676. units to the single unit under the mouse pointer.
  1677.  
  1678. Links Copy All performs both of the two operations above.
  1679.  
  1680.  
  1681. * Links Copy Environment (selection site-links [unit] :)
  1682.   
  1683. This is  a rather  complex  operation: Links Copy Environment tries to
  1684. duplicate the links between all selected units  and the current TARGET
  1685. unit in the  info panel  at  the  place  of  the  unit under the mouse
  1686. pointer. The relative position  of the  selected units  to the  TARGET
  1687. unit  plays an important  role:  if a  unit  exists that has  the same
  1688. relative position to the  unit under  the mouse cursor  as  the TARGET
  1689. unit has to one  of the selected units, then  a link between this unit
  1690. and the unit under the mouse pointer  is  created.  The result of this
  1691. operation is a  copy of  the structure  of links  between the selected
  1692. units  and the TARGET unit at the  place of the unit  under the  mouse
  1693. pointer. That is, one obtains the same link topology at the unit under
  1694. the mouse pointer. See the user manual for an example.
  1695.  
  1696.  
  1697. * Sites Add (selection : popup)
  1698.   
  1699. A site which  is chosen  in a  popup window is added to  all  selected
  1700. units. The command has  no  effect for  all units which already have a
  1701. site of  this name (because the names of all sites  of a  unit must be
  1702. different).
  1703.  
  1704.  
  1705. * Sites Delete (selection : popup)
  1706.   
  1707. The site that is chosen in the popup window is deleted at all selected
  1708. units that possess a  site of this  name. Also all links  to this site
  1709. are deleted. If the safety flag is set  (in the manager panel the word
  1710. safe  is  displayed behind  the flag  icon  at  the  bottom),  then  a
  1711. confirmer window first confirms the deletion.
  1712.  
  1713.  
  1714. * Sites Copy with No  links (selection site :)  
  1715. * Sites  Copy with All links (selection site :)
  1716.   
  1717. The current  site of the Target  unit  is added to  all selected units
  1718. which  do not have this site yet.  Links are copied  together with the
  1719. site only with the command Site Copy with All links. If a unit already
  1720. has a site of that name, only the links are copied.
  1721.  
  1722.  
  1723. * Units Freeze (selection :) 
  1724. * Units Unfreeze (selection :)
  1725.   
  1726. These commands  are used  to  freeze or unfreeze  all  selected units.
  1727. Freezing  means,  that  the  unit does  not  get  updated anymore, and
  1728. therefore keeps its activation and output.  Upon  loading  input units
  1729. change only their  activation, while keeping their  output. For output
  1730. units,  this depends upon the setting of the pattern load mode. In the
  1731. load mode Output only the output is set. Therefore,  if  frozen output
  1732. units are to keep their output,  another mode (None or Activation) has
  1733. to be selected. A learning cycle, on the other hand, executes as if no
  1734. units have been frozen.
  1735.  
  1736.  
  1737. * Units Set Name (selection TARGET :)  
  1738. * Units Set Activation(selection TARGET :) 
  1739. * Units Set Initial activation (selection TARGET :) 
  1740. * Units Set Output (selection TARGET :) 
  1741. * Units Set Bias (selection TARGET :) 
  1742. * Units Set io-Type (selection : popup) 
  1743. * Units Set Function Activation (selection  : popup) 
  1744. * Units Set Function Output (selection : popup) 
  1745. * Units Set Function F-type (selection : popup)
  1746.   
  1747. Sets the specific attribute of  all selected units to  a common value.
  1748. Types and functions are defined by a  popup window. The operations can
  1749. be aborted  by immediately  clicking the  DONE  button  in  the  popup
  1750. without selecting an element of the list.
  1751.  
  1752. The remaining attributes are read from the corresponding fields of the
  1753. Target unit in  the info panel. The user  can  of  course  change  the
  1754. values there  (without clicking the SET button) and then execute Units
  1755. Set A different approach would be to make a unit target unit (click on
  1756. it with the middle mouse button) which already has the desired values.
  1757. This procedure is very convenient, but works only if appropriate units
  1758. exist already.  It is a  good idea  to create a  couple  of such model
  1759. units first, to be able to quickly set different attribute sets in the
  1760. info panel.
  1761.  
  1762.  
  1763. * Units Insert Default ([empty] DEFAULT :)  
  1764. * Units Insert Target ([empty] TARGET :) 
  1765. * Units Insert F-type ([empty] : popup)
  1766.   
  1767. This command is used to insert a unit with the  IO-type hidden. It has
  1768. no  connections  and its attributes are  set according  to the default
  1769. values and the Target unit. With the command Units Insert Default, the
  1770. unit gets no F-type and no sites. With Units  Insert F-type an  F-type
  1771. and sites  have to be selected in  a popup window. Units Insert Target
  1772. creates  a copy of the  target unit  in  the  info  panel. If sites or
  1773. connections  are to be copied as well, the  command Units Copy All has
  1774. to be used instead.
  1775.  
  1776.  
  1777. * Units Delete (selection :)
  1778.   
  1779. All selected  units are deleted.  If  the safety  flag  is  set  (safe
  1780. appears in the manager panel behind the flag symbol)  the deletion has
  1781. to be confirmed with the confirmer.
  1782.  
  1783.  
  1784. * Units Move (selection TARGET : dest?)
  1785.   
  1786. All selected units are moved. The Target unit is moved to the position
  1787. at which  the  mouse  button is  clicked.  This  postion  must  not be
  1788. occupied  by  an  unselected unit, because  a  position  conflict will
  1789. result  otherwise.  All other  units move in the same way relative  to
  1790. that position. The command is ignored, if
  1791.  
  1792. - the target position is occupied by an unselected unit, or 
  1793. - units would be moved to grid positions already taken by unselected
  1794.   units.
  1795.  
  1796. It might happen that units  are moved beyond the right or lower border
  1797. of the display. These units remain selected, as long as  not all units
  1798. are  deselected  (click  the  right  mouse  button  to  an  empty grid
  1799. position).
  1800.  
  1801. As long  as no target  is selected, the editor reacts only  to Return,
  1802. Quit  or Help.  Positioning  is eased by displaying  the unit outlines
  1803. during the  move. The user may also switch to another display. If this
  1804. display has a different subnet number,  the subnet number of the units
  1805. change accordingly. Depending upon layer and subnet parameters, it can
  1806. happen that the moved units are not visible at the target.
  1807.  
  1808. If  networks are  generated  externally, it might  happen that several
  1809. units lie on the  same grid position. Upon selection of this position,
  1810. only the unit with the smallest number is selected. With  'Units Move'
  1811. the user can thereby clarify the situation.
  1812.  
  1813.  
  1814. * Units Copy ...  (selection : dest?)   
  1815. * Units Copy All 
  1816. * Units Copy Input 
  1817. * Units Copy Output 
  1818. * Units Copy None
  1819.  
  1820. This  command is similar  to Units  Move.  Copy creates  copies of the
  1821. selected  units  at the  positions  that  would  be assigned by  Move.
  1822. Another  difference is that if  units are  moved to grid  positions of
  1823. selected units the command is ignored. The units created have the same
  1824. attributes as their originals, but different numbers. Since unit types
  1825. are copied as well the new units also inherit the activation function,
  1826. output  function  and  sites.  There  are four  options regarding  the
  1827. copying  of  the links. If no links are copied,  the  new unit  has no
  1828. connections. If, for example,  the  input links  are  copied, the  new
  1829. units have the same predecessors as their originals.
  1830.  
  1831.  
  1832. * Units Copy Structure ...   (selection : dest?)  
  1833. * Units Copy Structure All 
  1834. * Units Copy Structure Input 
  1835. * Units Copy Structure Output 
  1836. * Units Copy Structure None 
  1837. * Units Copy Structure ...    binding (selection : dest? (site-popup))  
  1838. * Units Copy Structure Back   binding 
  1839. * Units Copy Structure Forward binding 
  1840. * Units Copy Structure Double binding
  1841.   
  1842. These  commands are refinements of the general Copy command. Here, all
  1843. links between the selected units are always copied as well. This means
  1844. that the substructure is  copied form the originals to the new  units.
  1845. On a copy without  Structure these links would go unnoticed. There are
  1846. also options, which additional  links are  to  be copied. If  only the
  1847. substructure is to be copied, the command Units Copy Structure None is
  1848. used.
  1849.  
  1850. The  options  with binding  present a  special  feature. There,  links
  1851. between  original  and  copied  units are  inserted  automatically, in
  1852. addition  to  the  copied structure  links.  Back, Forward  and Double
  1853. specify  thereby the direction  of the  links, where  'back' means the
  1854. direction  towards  the   original  unit.  If  sites  are  used,   the
  1855. connections to the originals are assigned to the  site selected in the
  1856. popup. If not all originals have a site  with  that name, not all  new
  1857. units are linked to their predecessors.
  1858.  
  1859. With these various copy options, large, complicated nets with the same
  1860. or similar substructures can be created very easily.
  1861.  
  1862.  
  1863. * Mode Units (:) 
  1864. * Mode Links (:)
  1865.   
  1866. Switches to the mode Units or Links. All sequences of the normal modes
  1867. are available. The keys  U and  L need not be  pressed  anymore.  This
  1868. shortens all sequences by one key.
  1869.   
  1870.   
  1871. * Units ... Return (:) 
  1872. * Links ... Return (:)
  1873.   
  1874. Returns to normal mode after executing Mode Units,
  1875.  
  1876.  
  1877. * Graphics All (:) 
  1878. * Graphics Complete (:) 
  1879. * Graphics Units (:)  
  1880. * Graphics Links (:)
  1881.   
  1882. These commands initiate redrawing the whole net, or parts  of the net.
  1883. With the exception  of Graphics Complete, all commands affect only the
  1884. current  display.  They are especially  usefull  after  a deletion  of
  1885. links.
  1886.  
  1887.  
  1888. * Graphics Direction ([unit] :)
  1889.   
  1890. This command assigns arrow heads to all links leading to/from the unit
  1891. selected by  the  mouse.  This is  done independently from  the  setup
  1892. values.  XGUI, however, does not recall  that  links have been  drawn.
  1893. This means that after moving a unit, these links remain in the window,
  1894. if the display of links is switched off in the SETUP.
  1895.  
  1896.  
  1897. * Graphics Move (TARGET [empty]/[unit] :)
  1898.   
  1899. The origin of the window (upper left corner)  is  moved  in a way that
  1900. the  Target unit  in  the info  panel  becomes visible at the position
  1901. specified by the mouse.
  1902.  
  1903.  
  1904. * Graphics Origin ([empty]/[unit] :)
  1905.   
  1906. The position specified by the mouse becomes new  origin of the display
  1907. (upper left corner).
  1908.  
  1909.  
  1910. * Graphics Grid (:)
  1911.   
  1912. This command draws  a point at each grid position. The grid,  however,
  1913. is not  refreshed, therefore one might have  to redo the command  from
  1914. time to time.
  1915.  
  1916.  
  1917. ----------------------------------------------------------------------
  1918.  
  1919. * An Example Dialogue
  1920.  
  1921. A short example dialogue  for the construction of an XOR network might
  1922. clarify the use of the editor.  First the four  units are  created. In
  1923. the  info  panel  the  target name  'input' and the Target bias  0  is
  1924. entered.
  1925.  
  1926. Status    Command            Comments
  1927. ----------------------------------------------------------------------
  1928. >    Mode Units        switch on mode units
  1929. Units>                set mouse to position (3,5)
  1930. Units>    Insert Target        insert unit 1 with the attributes of 
  1931.                 the Target unit here
  1932.                 repeat for position (5,5)
  1933. Units>                name = "hidden", bias = -2.88
  1934. Units>    Insert Target        position (3,3); insert unit 3
  1935. Units>                name = "output", bias = -3.41
  1936. Units>    Insert Target        position (3,1); insert unit 4
  1937. Units>    Return            return to normal mode
  1938. >    Mode Links        switch on link mode
  1939. Links>                select both input units and set mouse 
  1940.                 to third (hidden) unit 
  1941. Links>                weight = 6.97
  1942. Links>    Make to Destination    create links
  1943. Links>                set mouse to unit 4, weight = -5.24
  1944. Links>    Make to Destination    create links 
  1945. Links>                deselect all units and select unit 3
  1946. Links>                set mouse to unit 4, weight = 11.71
  1947. Links>    Make to Destination    create links
  1948.  
  1949. Now the topology is defined. The only actions remaining are to set the
  1950. IO types  and  the four patterns. To set the IO  types, one can either
  1951. use  the command  Units  Set  Default  io-type, which sets  the  types
  1952. according to the  topological position of the units, or repeatedly use
  1953. the  command Units  Set io-Type. The  second option can  be aborted by
  1954. pressing  the  Done  button  in  the  popup  window  before  making  a
  1955. selection.
  1956.  
  1957. ----------------------------------------------------------------------
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986. ----------------------------------------------------------------------
  1987. * TOPICS
  1988. ----------------------------------------------------------------------
  1989.  
  1990. * Using The Graphical User Interface
  1991.  
  1992. * XGUI Files
  1993.  
  1994. * Windows of XGUI
  1995.  
  1996. * Manager Panel
  1997.  
  1998. * Info Panel
  1999.  
  2000. * 2D Displays
  2001.  
  2002. * Setup Panel
  2003.  
  2004. * Unit Function Displays 
  2005.  
  2006. * File Browser
  2007. * Loading and Saving Networks
  2008. * Loading and Saving Patterns
  2009. * Loading and Saving Configurations
  2010. * Saving a Result file 
  2011. * Defining the Log File
  2012.  
  2013. * Help Windows
  2014.  
  2015. * Print Panel 
  2016.  
  2017. * Remote Panel
  2018.  
  2019. * Weight Display 
  2020.  
  2021. * Graph Window 
  2022.  
  2023. * Creating and Editing F-types and Sites
  2024.  
  2025. ----------------------------------------------------------------------
  2026. * Graphical Network Editor
  2027. ----------------------------------------------------------------------
  2028.  
  2029. * Editor Modes
  2030. * Selection
  2031. * Selection of Units
  2032. * Selection of Links
  2033.  
  2034. * Use of the Mouse
  2035. * left mouse button
  2036. * right mouse button
  2037. * middle mouse button
  2038.  
  2039. * Keyboard
  2040.  
  2041. ----------------------------------------------------------------------
  2042. * Short Command Reference
  2043. ----------------------------------------------------------------------
  2044. * Links Make
  2045. * Links Delete
  2046. * Links Copy
  2047. * Sites
  2048. * Sites Copy
  2049. * Units
  2050. * Units Set
  2051. * Units Set Function
  2052. * Units Insert
  2053. * Units Delete
  2054. * Units Move
  2055. * Units Copy
  2056. * Units Copy Structure
  2057. * Mode
  2058. * Graphics
  2059.  
  2060. ----------------------------------------------------------------------
  2061. * Editor Commands
  2062. ----------------------------------------------------------------------
  2063.  
  2064. * Flags Safety
  2065.  
  2066. * Links Set
  2067.  
  2068. * Links Make Clique
  2069. * Links Make from Source unit
  2070. * Links Make to Target unit
  2071. * Links Make Double
  2072. * Links Make Inverse
  2073.  
  2074. * Links Delete Clique
  2075. * Links Delete from Source unit
  2076. * Links Delete to Target unit
  2077.  
  2078. * Links Copy Input
  2079. * Links Copy Output
  2080. * Links Copy All
  2081. * Links Copy Environment
  2082.  
  2083. * Site Add
  2084. * Sites Delete
  2085. * Sites Copy with No links
  2086. * Sites Copy with All links
  2087.  
  2088. * Units Freeze
  2089. * Units Unfreeze
  2090.  
  2091. * Units Set Name
  2092. * Units Set Activation
  2093. * Units Set Initial activation
  2094. * Units Set Output
  2095. * Units Set Bias
  2096. * Units Set S-type
  2097. * Units Set Function Activation
  2098. * Units Set Function Output
  2099. * Units Set Function F-type
  2100.  
  2101. * Units Insert Default
  2102. * Units Insert Target
  2103. * Units Insert F-type
  2104.  
  2105. * Units Delete
  2106. * Units Move
  2107.  
  2108. * Units Copy All
  2109. * Units Copy Input
  2110. * Units Copy Output
  2111. * Units Copy None
  2112. * Units Copy Structure All
  2113. * Units Copy Structure Input
  2114. * Units Copy Structure Output
  2115. * Units Copy Structure None
  2116. * Units Copy Structure Back binding
  2117. * Units Copy Structure Forward binding
  2118. * Units Copy Structure Double binding
  2119.  
  2120. * Mode Units
  2121. * Mode Links
  2122.  
  2123. * Graphics All
  2124. * Graphics Complete
  2125. * Graphics Units
  2126. * Graphics Links
  2127. * Graphic Direction
  2128. * Graphics Move
  2129. * Graphics Origin
  2130. * Graphics Grid
  2131.  
  2132. ----------------------------------------------------------------------
  2133. * An Example Dialogue
  2134. ----------------------------------------------------------------------